<?php defined('MINICAKE') or exit('can not access!');

/**
 * Configure 
 * 读取配置文件
 * @package 
 * @version $id$
 * @copyright 
 * @author lovise <lovise.lu@gmail.com> 
 * @license PHP Version 3.0 {@link http://www.php.net/license/3_0.txt}
 */
class Configure {

	/**
	 * 存放配置的数组
	 */
	public static $Config = array();
	/**
	 *  记录已加载的配置文件
	 */
	public static $isLoad = array();
	/**
	* 加载配置文件
	*
	* @param unknown_type $file 配置文件名
	* @return unknown
	*/
	public static function load($file = 'config'){
		
		if(in_array($file,self::$isLoad)){
			return true;
		}
		if(file_exists(APP."config".DS."$file.php")){
			include_once (APP."config".DS."$file.php");
			if(isset($config) && is_array($config)){
				self::$Config[$file] = &$config;
				self::$isLoad[] = $file;
			}
		}else{
			die("configure ==> file app".DS."config".DS."$file.php not exists!");
		}
	}
	/**
	 * 返回某种配置文件的数组,无参数时候返回所有的配置文件
	 *
	 * @param unknown_type $index
	 * @return unknown
	 */
	public static function getItems($index = ''){
		if($index == ''){
			return self::$Config;
		}
		if(isset(self::$Config[$index])){
			return self::$Config[$index];	
		}else{
			self::load($index);
			if(isset(self::$Config[$index])){
				return self::$Config[$index];
			}else{
				return false;
			}
		}
		
	}
	/**
	 * 获取某一个项的配置配置参数
	 *
	 * @param 参数项 $item
	 * @param 配置文件名称 $index
	 */
	public static function getItem($item,$index = 'config'){
		if(! in_array($index,self::$isLoad)){
			self::load($index);
		}
		return self::$Config[$index][$item];
	}

}
?>
